package cn.tedu.store.service;

import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.tedu.store.bean.Goods;

public interface IGoodsService {
	String ORDER_BY_DEFAULT="priority DESC";
	String ORDER_BY_PRICE_ASC="price ASC";
	String ORDER_BY_PRICE_DESC="price DESC";
	String[] ORDER_BY= {ORDER_BY_DEFAULT,ORDER_BY_PRICE_ASC,ORDER_BY_PRICE_DESC};
	Integer COUNT_PER_PAGE=20;
	void setCountPerPage(int countPerPage);
	Integer getCountPerPage();
	/**
	 * 根据商品分类返回相关的商品列表
	 * @param categoryId 商品分类
	 * @param orderBy 排序方式，值为SQL代码
	 * @param offset 偏移量
	 * @param count 每页显示条数
	 * @return
	 */
	List<Goods> getGoodsListByCategoryId(
			Integer categoryId,
			String orderBy,
			Integer offset,
			Integer count);
	/**
	 * 根据商品分类返回相关的商品列表
	 * @param categoryId 商品分类
	 * @param orderBy 排序方式，值为SQL代码
	 * @param offset 偏移量
	 * @param count 每页显示条数
	 * @return
	 */
	List<Goods> getGoodsListByCategoryId(
			 Integer categoryId,
			 Integer offset,
			 Integer count);
	List<Goods> getGoodsListByCategoryId(
			 Integer categoryId,
			 String orderBy,
			 Integer page);
	List<Goods> getGoodsListByCategoryId(
			 Integer categoryId,
			 Integer page);
	List<Goods> getGoodsListByCategoryId(
			 Integer categoryId,
			 String orderBy);
	List<Goods> getGoodsListByCategoryId(
			 Integer categoryId);
	
	/**
	 * 查出商品分类下的商品的总数
	 * @param category
	 * @return
	 */
	Integer getGoodsCountByCategoryId(Integer category);
}
